package br.com.estrategos.dao;

import java.io.Serializable;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.criteria.Order;

import org.hibernate.HibernateException;

public interface IBaseDao<T, I extends Serializable> {

public void save(T entity) throws HibernateException,Exception;
	
	public void atualiza(T entity) throws HibernateException,Exception;

	public void remove(T entity)throws HibernateException,Exception;
	
	public T buscaPorId(Class<T> classe, I pk)throws HibernateException,Exception;

	public List<T> buscaTodos(Class<T> classe,String argOrdena)throws HibernateException,Exception;
	
	public List<T> buscaPorNome(Class<T> classe) throws HibernateException,Exception;


}
